ggvis - wprowadzenie

Maciej Beręsewicz

24 May 2015

ggvis vs ggplot2

Podstawowe zmiany:

ggvis - ograniczenia

Stwórzmy pierwszy wykres - zmienna ciągła

gosp %>%
  ggvis(x = ~wydg) 

Stwórzmy pierwszy wykres - zmienna ciągła (skala logarytmiczna)

gosp %>%
  ggvis(x = ~log(wydg))

Stwórzmy pierwszy wykres - zmienna jakościowa

gosp %>%
  ggvis(x = ~klm) 

Stwórzmy pierwszy wykres - zmienna jakościowa (poprawna skala)

gosp %>%
  ggvis(x = ~as.factor(klm))  %>%
  scale_ordinal('x')

Stwórzmy pierwszy wykres - wykres rozrzutu

gosp %>%  ggvis(~dochg, ~wydg) %>% layer_points()

Stwórzmy pierwszy wykres - wykres rozrzutu + regresja

gosp %>%  ggvis(~dochg, ~wydg) %>% layer_points()  %>%
  layer_model_predictions(model = "lm", se = TRUE)

Stwórzmy pierwszy wykres - wykres rozrzutu + regresja (wg punktów)

gosp %>%  mutate(klm=as.factor(klm)) %>% group_by(klm) %>%
  ggvis(~dochg, ~wydg, fill=~klm) %>% layer_points()  %>%
  layer_model_predictions(model = "lm", se = TRUE)

Stwórzmy pierwszy wykres - wykres rozrzutu + regresja (wg punktów)

gosp %>%  mutate(klm=as.factor(klm)) %>% group_by(klm) %>%
  ggvis(~dochg, ~wydg, stroke =~klm, fill= ~ klm) %>% layer_points()  %>%
  layer_model_predictions(model = "lm", se = TRUE)

Stwórzmy pierwszy wykres - zmienna ilościowa - boxplot

gosp %>%  na.omit() %>% 
  ggvis(x=~as.factor(klm), y=~wydg) %>% layer_boxplots() 

Grafika interaktywna - etykiety punktów

gosp %>%  
  slice(1:100) %>%
  ggvis(~dochg, ~wydg) %>% 
  layer_points() %>%
  add_tooltip( function(x) {
    print('Dochód:', x$dochg, '\nWydatki:', x$wydg)
    }, 'hover')

Suwaki

gosp %>%
  slice(1:1000) %>%
  ggvis(~dochg, ~wydg) %>% 
  layer_points(size := input_slider(1, 50, step = 5)) %>%
  layer_smooths(span  = input_slider(0.5, 2, step = 0.1))

Suwaki

gosp %>%
  slice(1:1000) %>%
  ggvis(~dochg, ~wydg) %>% 
  layer_points(opacity := input_slider(0, 1, step = 0.1))

Suwaki

gosp %>%
  ggvis(x= ~wydg) %>%
  layer_histograms(width = input_slider(1, 100, step = 10)) 

Podstawowe suwaki

Bardziej zaawansowane suwaki

gosp %>% 
  select(wydg) %>% na.omit() %>%
  ggvis(x = ~wydg) %>%
    layer_densities(
      adjust = input_slider(.1, 2, value = 1, step = .1, label = "Bandwidth adjustment"),
      kernel = input_select(
        c("Gaussian" = "gaussian",
          "Epanechnikov" = "epanechnikov",
          "Rectangular" = "rectangular",
          "Triangular" = "triangular",
          "Biweight" = "biweight",
          "Cosine" = "cosine",
          "Optcosine" = "optcosine"),
        label = "Kernel")
    )

Opcje wykresów

Możemy zmieniać:

i wiele innych

Opcje wykresów - przykład

gosp %>%
  ggvis(x= ~dochg,y = ~wydg) %>%
  add_axis('x', title='Dochody') %>%
  add_axis('y', title = 'Wydatki')

Opcje wykresów - zmiana skali osi

Wspierane typy osi:

Źródła: